/**
 * jims
 */
package com.jims.master.modules.drug.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.jims.master.common.persistence.DataEntity;
import org.hibernate.validator.constraints.Length;

import java.util.Date;

/**
 * 药品盘点Entity
 * @author zhuq
 * @version 2017-03-28
 */
public class DrugInventoryCheck extends DataEntity<DrugInventoryCheck> {
	
	private static final long serialVersionUID = 1L;
	private String stockId;		// 库存量主键
	private String drugCode;		// 药品编码
	private String infoId;		// drugInfoId
	private String storageId;		// 库存单位
	private Integer packageNum;		// 包装数量
	private String packageSpec;		// 包装规格
	private String packageUnits;		// 包装单位
	private Double purchasePrice;		// 进货价
	private String batchNo;		// 批号
	private Date expireDate;		// 有效期
	private Double maxQuantity;		// 大包装库存量
	private Double minQuantity;		// 小包装库存量
	private Double actualQuantity;		// 小包装实盘数
    private String drugName;
	private String type;//扩展类型

	private Double overageNum;//盘盈数量
	private Double overagePrice;//盘盈价钱
	private Double lossNum;//盘亏数量
	private Double lossPrice;//盘亏价钱

    public String getDrugName() {
        return drugName;
    }

    public void setDrugName(String drugName) {
        this.drugName = drugName;
    }

    public DrugInventoryCheck() {
		super();
	}

	public DrugInventoryCheck(String id){
		super(id);
	}

	@Length(min=1, max=64, message="库存量主键长度必须介于 1 和 64 之间")
	public String getStockId() {
		return stockId;
	}

	public void setStockId(String stockId) {
		this.stockId = stockId;
	}
	
	@Length(min=1, max=32, message="药品编码长度必须介于 1 和 32 之间")
	public String getDrugCode() {
		return drugCode;
	}

	public void setDrugCode(String drugCode) {
		this.drugCode = drugCode;
	}
	
	@Length(min=1, max=64, message="drugInfoId长度必须介于 1 和 64 之间")
	public String getInfoId() {
		return infoId;
	}

	public void setInfoId(String infoId) {
		this.infoId = infoId;
	}
	
	@Length(min=1, max=64, message="库存单位长度必须介于 1 和 64 之间")
	public String getStorageId() {
		return storageId;
	}

	public void setStorageId(String storageId) {
		this.storageId = storageId;
	}
	
	public Integer getPackageNum() {
		return packageNum;
	}

	public void setPackageNum(Integer packageNum) {
		this.packageNum = packageNum;
	}
	
	@Length(min=1, max=20, message="包装规格长度必须介于 1 和 20 之间")
	public String getPackageSpec() {
		return packageSpec;
	}

	public void setPackageSpec(String packageSpec) {
		this.packageSpec = packageSpec;
	}
	
	@Length(min=1, max=2, message="包装单位长度必须介于 1 和 2 之间")
	public String getPackageUnits() {
		return packageUnits;
	}

	public void setPackageUnits(String packageUnits) {
		this.packageUnits = packageUnits;
	}
	
	public Double getPurchasePrice() {
		return purchasePrice;
	}

	public void setPurchasePrice(Double purchasePrice) {
		this.purchasePrice = purchasePrice;
	}
	
	@Length(min=1, max=64, message="批号长度必须介于 1 和 64 之间")
	public String getBatchNo() {
		return batchNo;
	}

	public void setBatchNo(String batchNo) {
		this.batchNo = batchNo;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getExpireDate() {
		return expireDate;
	}

	public void setExpireDate(Date expireDate) {
		this.expireDate = expireDate;
	}
	
	public Double getMaxQuantity() {
		return maxQuantity;
	}

	public void setMaxQuantity(Double maxQuantity) {
		this.maxQuantity = maxQuantity;
	}
	
	public Double getMinQuantity() {
		return minQuantity;
	}

	public void setMinQuantity(Double minQuantity) {
		this.minQuantity = minQuantity;
	}
	
	public Double getActualQuantity() {
		return actualQuantity;
	}

	public void setActualQuantity(Double actualQuantity) {
		this.actualQuantity = actualQuantity;
	}

	public String getType() {
		return type;
	}

	public void setType(String type) {
		this.type = type;
	}

	public Double getOverageNum() {
		return overageNum;
	}

	public void setOverageNum(Double overageNum) {
		this.overageNum = overageNum;
	}

	public Double getOveragePrice() {
		return overagePrice;
	}

	public void setOveragePrice(Double overagePrice) {
		this.overagePrice = overagePrice;
	}

	public Double getLossNum() {
		return lossNum;
	}

	public void setLossNum(Double lossNum) {
		this.lossNum = lossNum;
	}

	public Double getLossPrice() {
		return lossPrice;
	}

	public void setLossPrice(Double lossPrice) {
		this.lossPrice = lossPrice;
	}
}